module.exports = function (content) {
  //this.context:属性， 被处理的文件所在的路径
  console.log("======this.context======", this.context);

  //this.data:属性， loader有两个执行的阶段，一个是normal阶段，一个是pitching阶段
  //pitching阶段在normal阶段之前执行，这两个阶段如何共享数据呢，就是通过这个this.data ,
  //在pitching阶段可以给data属性传一个值，在normal阶段就可以拿到这个值
  //如果loader没有定义pitching阶段的处理，该值为null
  console.log("======this.data======", this.data);

  //this.cacheable:函数，设置当前loader是否可以被缓存，
  //被缓存的loader，当文件没有发生变化时，直接返回之前的处理结果
  //默认情况下，设置为true
  this.cacheable(false);

  //this.callback:函数，返回loader处理的结果，可能是成功的结果，也可能是失败的结果
  //失败的结果通过this.callback的第一个参数传递，成果的结果就是通过第二个参数传递
  //如果第一参数不为null，则第二个参数会被无视
  //之前我们是通过return来返回loader处理完的结果，当然我们可以通过callback来返回处理完成的结果
  //   this.callback(new Error("loader出错了，亲~"));
  this.callback(null, `export default ${JSON.stringify(content)}`);

  //   this.emitFile:函数，生成一个文件，到output指定的路径.(文件的复制,file-loader就是通过这个函数来实现的)
  //函数的第一个参数为路径，第二个参数为文件内容
  this.emitFile("index-out.js", content);

  //this.async:函数，声明当前的loader为异步loader，并返回一个callback函数。
  //通过调用callback函数，向webpack传递loader的处理结果

  //   return `export default ${JSON.stringify(content)}`;
};
